package cn.disicn.controller;

import java.util.Date;

import org.apache.commons.lang3.StringUtils;

import cn.disicn.common.Const;
import cn.disicn.common.ServerResponse;
import cn.disicn.model.AppSystemContact;
import cn.disicn.model.SecAdminUser;
import cn.disicn.util.IDUtil;

import com.jfinal.core.Controller;

/**
 * @author zjk
 * @date 2018年1月3日 上午9:55:39
 * @desc
 * 
 */
public class AppSystemContactController extends Controller {

	private static final AppSystemContact appSystemcontact = new AppSystemContact();
	private static final SecAdminUser secAdminuser = new SecAdminUser();

	/**
	 * 
	 * @desc 查询APP联系方式
	 */
	public void index() {
		Integer pageNum = getParaToInt("pageNum");
		Integer pageSize = getParaToInt("pageSize");
		if (pageNum != null && pageSize != null && pageNum > 0 && pageSize > 0) {
			renderJson(appSystemcontact.getAppSystemContactList(pageNum,
					pageSize));
			return;
		}
		renderJson(ServerResponse
				.createByErrorMsg(Const.ErrorResult.PARAMETER_ERROR));
	}

	/**
	 * 
	 * @desc 删除联系方式
	 */
	public void delAppSystemContact() {
		String id = getPara("id");
		if (!StringUtils.isBlank(id) && id.length() == 32) {
			renderJson(appSystemcontact.delAppSystemContact(id));
			return;
		}
		renderJson(ServerResponse
				.createByErrorMsg(Const.ErrorResult.PARAMETER_ERROR));
	}

	/**
	 * 
	 * @desc 操作app联系方式
	 */
	public void appSystemContact() {
		String id = getPara("id");
		String qq = getPara("qq");
		String email = getPara("email");
		String phone = getPara("phone");
		String content = getPara("content");
		String code = getPara("code");
		String regEmail = "/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/";
		if (!regEmail.matches(email) && !StringUtils.isBlank(code)
				&& code.length() == 6) {
			ServerResponse<String> response = secAdminuser.valiImgCode(code,
					getSession());
			if (response.isSuccess()) {
				if (!StringUtils.isBlank(id) && id.length() == 32) {
					appSystemcontact.setId(id);
					appSystemcontact.setQq(qq);
					appSystemcontact.setEmail(email);
					appSystemcontact.setContent(content);
					appSystemcontact.setPhone(phone);
					appSystemcontact.setUpdateTime(new Date());
					renderJson(appSystemcontact
							.updAppSystemContact(appSystemcontact));
				} else {
					if (!StringUtils.isBlank(email)
							&& !StringUtils.isBlank(phone)
							&& !StringUtils.isBlank(content)) {
						appSystemcontact.setId(IDUtil.getId());
						appSystemcontact.setQq(qq);
						appSystemcontact.setEmail(email);
						appSystemcontact.setContent(content);
						appSystemcontact.setPhone(phone);
						renderJson(appSystemcontact
								.addAppSystemContact(appSystemcontact));
					}
				}
			} else {
				renderJson(response);
			}
			return;
		}
		renderJson(ServerResponse
				.createByErrorMsg(Const.ErrorResult.PARAMETER_ERROR));
	}
}
